package com.smart.manage.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.smart.common.annotation.Excel;
import com.smart.common.core.domain.BaseEntity;

/**
 * 药品库存管理对象 tb_drug_stock
 * 
 * @author lingyao
 * @date 2025-03-05
 */
public class DrugStock extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 库存记录ID */
    @Excel(name = "库存记录ID")
    private Long stockId;

    /** 药品ID */
    @Excel(name = "药品ID")
    private Long drugId;

    /** 当前库存数量 */
    @Excel(name = "当前库存数量")
    private Long currentQuantity;

    /** 最低库存数量 */
    @Excel(name = "最低库存数量")
    private Long minimumQuantity;

    /** 最后一次入库日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后一次入库日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastIncomingDate;

    public void setStockId(Long stockId) 
    {
        this.stockId = stockId;
    }

    public Long getStockId() 
    {
        return stockId;
    }
    public void setDrugId(Long drugId) 
    {
        this.drugId = drugId;
    }

    public Long getDrugId() 
    {
        return drugId;
    }
    public void setCurrentQuantity(Long currentQuantity) 
    {
        this.currentQuantity = currentQuantity;
    }

    public Long getCurrentQuantity() 
    {
        return currentQuantity;
    }
    public void setMinimumQuantity(Long minimumQuantity) 
    {
        this.minimumQuantity = minimumQuantity;
    }

    public Long getMinimumQuantity() 
    {
        return minimumQuantity;
    }
    public void setLastIncomingDate(Date lastIncomingDate) 
    {
        this.lastIncomingDate = lastIncomingDate;
    }

    public Date getLastIncomingDate() 
    {
        return lastIncomingDate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("stockId", getStockId())
            .append("drugId", getDrugId())
            .append("currentQuantity", getCurrentQuantity())
            .append("minimumQuantity", getMinimumQuantity())
            .append("lastIncomingDate", getLastIncomingDate())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
